/*
#include<bits/stdc++.h>
using namespace std;

const int N = 1e4+10;
int v[N], w[N];
int f[N];
int n, m;
int main()
{
	cin>>n>>m;
	for(int i=1; i<=n; i++)
	   cin>>v[i]>>w[i];
	
	for(int i=1; i<=n; i++)
	{
		for(int j=m; j>=v[i]; j--)
		  f[j]=max(f[j], f[j-v[i]]+w[i]);
	}
	cout<<f[m]<<endl;
	return 0;
}


#include<bits/stdc++.h>
using namespace std;

const int N = 1e3+10;
int v[N], w[N];
int f[N];
int n, m;
int main()
{
	cin>>n>>m;
	for(int i=1; i<=n; i++)
	{
	    int v, w;
	    cin>>v>>w;
		for(int j= v; j<=m; j++)
		  f[j]=max(f[j], f[j-v]+w);
	}
	cout<<f[m]<<endl;
	return 0;
}
*/






















